Many organizations rely on databases and data sources that store data hierarchically. In some instances, business process data may be stored and processed hierarchically to reflect a chronological sequence of steps in the business process. The steps associated with processing a sales order, for example, may involve first identifying a customer and/or products to be sold, then selecting a quantity of the products, followed by processing payment information, and then shipping the order with an invoice, if necessary. These steps may be sequential and hierarchical because the order cannot be shipped, for example, until the products and customer have been identified.
Data records in a database may also be organized hierarchically. For example, each customer record containing information identifying different customers, such as customer names, addresses, billing information, zip codes, and so on, may be linked to one or more sales order records identifying products ordered by the respective customer on each occasion. Thus, the customer record may be parent record, and each linked sales order record may be child record linked to the parent customer record.
Data searches may also be conducted hierarchically. For example, when searching for specific data in a database, a user may first be prompted to enter information concerning a first field. A search for records matching the first field may be conducted, at which point the user may be prompted to enter information concerning a second field. A further search of records matching the first field may be conducted to identify a subset of those matching first field records that also have matching second field entries. The search may be classified as hierarchical because information in the first field of the data records are initially searched before information in the second field.
While simple hierarchical relationships between data, such as a simple one parent to one child relationship may be organized in a tree structure in an interface, with the child represented as a node branching from the parent, existing hierarchical data relationship organizational schemes become cluttered and/or non-functional as the hierarchical relationships between data elements become more complex. For example, existing visualization scheme are unable to accommodate a child data field originating from multiple parent elements, such as shown in FIG. 1, or multiple child fields spawning from a single parent. Even if the existing visualization schemes could be modified to accommodate a one-to-many relationship between parent-child data elements, it is still desirable to show the relationship in an intuitive and simple manner so that end users may readily understand the relationship between the data elements.
Accordingly, there is a need for a data element relationship visualization scheme that is able to intuitively depict complex hierarchical relationships between data elements in a workflow.